/* 队列，尾进头出，继承自DList(循环链表) */
#ifndef DQUEUE_HPP
#define DQUEUE_HPP

#include "DList.hpp"

template <class T>
class DQueue : public DList<T>
{
public:
	DQueue() = default;
	~DQueue() = default;
	void enqueue(const T& data);  // 入队
	T dequeue();  // 出队
};

/********************************* 实现 *********************************/

template <class T>
void DQueue<T>::enqueue(const T& data)
{
	pushBack(data);
}

template <class T>
T DQueue<T>::dequeue()
{
	return popFront();
}

#endif  // DQUEUE_HPP